#ifndef MASK_DETECTION_H
#define MASK_DETECTION_H
#include <QPixmap>
#include "paddle_api.h"
#include "opencv2/core.hpp"
// 4月12日之前完成
// 此类中不使用Qt有关的接口和数据类型
// 需要进行的初始化
// 1. 加载模型
// 2. 加载 label
// 需要实现的接口
// 1. 初始化函数
// 2. 传入Mat进行识别, 输出结果图和结果信息, 实现一个结果信息结构体
class mask_detection
{
public:
    mask_detection();
    ~mask_detection();
    // API
    // 初始化 MobileConfig config;
    int init(char *face_model_dir, char *mask_model_dir);
    cv::Mat detection( cv::Mat img);
private:
    paddle::lite_api::MobileConfig face_config;
    paddle::lite_api::MobileConfig mask_config;
    std::shared_ptr<paddle::lite_api::PaddlePredictor> face_predictor;
    std::shared_ptr<paddle::lite_api::PaddlePredictor> mask_predictor;
};
int mask_detection(int argc, char** argv, QPixmap &qmap);
#endif // MASK_DETECTION_H
